/***********************************************************************/
/* Open Visualization Data Explorer                                    */
/* (C) Copyright IBM Corp. 1989,1999                                   */
/* ALL RIGHTS RESERVED                                                 */
/* This code licensed under the                                        */
/*    "IBM PUBLIC LICENSE - Open Visualization Data Explorer"          */
/***********************************************************************/
#define SPHR114PTS 114
#define SPHR114TRS 224
static Point points[SPHR114PTS] = {
    {0.0000000000F, -1.0000000000F, 0.0000000000F},
    {0.3826834261F, -0.9238795042F, 0.0000000000F},
    {0.3535533845F, -0.9238795042F, 0.1464466155F},
    {0.2705980539F, -0.9238795042F, 0.2705980539F},
    {0.1464466006F, -0.9238795042F, 0.3535533845F},
    {-0.0000000167F, -0.9238795042F, 0.3826834261F},
    {-0.1464466453F, -0.9238795042F, 0.3535533845F},
    {-0.2705980539F, -0.9238795042F, 0.2705980539F},
    {-0.3535534143F, -0.9238795042F, 0.1464465559F},
    {-0.3826834261F, -0.9238795042F, -0.0000000335F},
    {-0.3535533845F, -0.9238795042F, -0.1464466155F},
    {-0.2705979943F, -0.9238795042F, -0.2705980837F},
    {-0.1464464962F, -0.9238795042F, -0.3535534441F},
    {0.0000000046F, -0.9238795042F, -0.3826834261F},
    {0.1464466751F, -0.9238795042F, -0.3535533547F},
    {0.2705981433F, -0.9238795042F, -0.2705979645F},
    {0.3535533845F, -0.9238795042F, -0.1464466006F},
    {0.7071067691F, -0.7071067691F, 0.0000000000F},
    {0.6532814503F, -0.7071067691F, 0.2705980539F},
    {0.4999999702F, -0.7071067691F, 0.5000000000F},
    {0.2705980539F, -0.7071067691F, 0.6532814503F},
    {-0.0000000309F, -0.7071067691F, 0.7071067691F},
    {-0.2705981135F, -0.7071067691F, 0.6532814503F},
    {-0.5000000000F, -0.7071067691F, 0.5000000000F},
    {-0.6532815099F, -0.7071067691F, 0.2705979347F},
    {-0.7071067691F, -0.7071067691F, -0.0000000618F},
    {-0.6532814503F, -0.7071067691F, -0.2705980539F},
    {-0.4999999106F, -0.7071067691F, -0.5000000596F},
    {-0.2705978155F, -0.7071067691F, -0.6532815695F},
    {0.0000000084F, -0.7071067691F, -0.7071067691F},
    {0.2705981433F, -0.7071067691F, -0.6532814503F},
    {0.5000001788F, -0.7071067691F, -0.4999998212F},
    {0.6532814503F, -0.7071067691F, -0.2705980241F},
    {0.9238795042F, -0.3826834559F, 0.0000000000F},
    {0.8535533547F, -0.3826834559F, 0.3535533845F},
    {0.6532814503F, -0.3826834559F, 0.6532815099F},
    {0.3535533845F, -0.3826834559F, 0.8535534143F},
    {-0.0000000404F, -0.3826834559F, 0.9238795042F},
    {-0.3535534739F, -0.3826834559F, 0.8535533547F},
    {-0.6532815099F, -0.3826834559F, 0.6532814503F},
    {-0.8535534739F, -0.3826834559F, 0.3535532355F},
    {-0.9238795042F, -0.3826834559F, -0.0000000808F},
    {-0.8535533547F, -0.3826834559F, -0.3535533845F},
    {-0.6532813907F, -0.3826834559F, -0.6532815695F},
    {-0.3535531163F, -0.3826834559F, -0.8535534739F},
    {0.0000000110F, -0.3826834559F, -0.9238795042F},
    {0.3535535336F, -0.3826834559F, -0.8535533547F},
    {0.6532816887F, -0.3826834559F, -0.6532812715F},
    {0.8535534143F, -0.3826834559F, -0.3535533845F},
    {1.0000000000F, 0.0000000000F, 0.0000000000F},
    {0.9238795042F, 0.0000000000F, 0.3826834559F},
    {0.7071067691F, 0.0000000000F, 0.7071067691F},
    {0.3826834261F, 0.0000000000F, 0.9238795042F},
    {-0.0000000437F, 0.0000000000F, 1.0000000000F},
    {-0.3826835155F, 0.0000000000F, 0.9238795042F},
    {-0.7071067691F, 0.0000000000F, 0.7071067691F},
    {-0.9238796234F, 0.0000000000F, 0.3826832771F},
    {-1.0000000000F, 0.0000000000F, -0.0000000874F},
    {-0.9238795042F, 0.0000000000F, -0.3826834261F},
    {-0.7071066499F, 0.0000000000F, -0.7071068883F},
    {-0.3826831281F, 0.0000000000F, -0.9238796830F},
    {0.0000000119F, 0.0000000000F, -1.0000000000F},
    {0.3826836050F, 0.0000000000F, -0.9238794446F},
    {0.7071070075F, 0.0000000000F, -0.7071065307F},
    {0.9238795638F, 0.0000000000F, -0.3826834261F},
    {0.9238795042F, 0.3826834559F, 0.0000000000F},
    {0.8535533547F, 0.3826834559F, 0.3535533845F},
    {0.6532814503F, 0.3826834559F, 0.6532815099F},
    {0.3535533845F, 0.3826834559F, 0.8535534143F},
    {-0.0000000404F, 0.3826834559F, 0.9238795042F},
    {-0.3535534739F, 0.3826834559F, 0.8535533547F},
    {-0.6532815099F, 0.3826834559F, 0.6532814503F},
    {-0.8535534739F, 0.3826834559F, 0.3535532355F},
    {-0.9238795042F, 0.3826834559F, -0.0000000808F},
    {-0.8535533547F, 0.3826834559F, -0.3535533845F},
    {-0.6532813907F, 0.3826834559F, -0.6532815695F},
    {-0.3535531163F, 0.3826834559F, -0.8535534739F},
    {0.0000000110F, 0.3826834559F, -0.9238795042F},
    {0.3535535336F, 0.3826834559F, -0.8535533547F},
    {0.6532816887F, 0.3826834559F, -0.6532812715F},
    {0.8535534143F, 0.3826834559F, -0.3535533845F},
    {0.7071067691F, 0.7071067691F, 0.0000000000F},
    {0.6532814503F, 0.7071067691F, 0.2705980539F},
    {0.4999999702F, 0.7071067691F, 0.5000000000F},
    {0.2705980539F, 0.7071067691F, 0.6532814503F},
    {-0.0000000309F, 0.7071067691F, 0.7071067691F},
    {-0.2705981135F, 0.7071067691F, 0.6532814503F},
    {-0.5000000000F, 0.7071067691F, 0.5000000000F},
    {-0.6532815099F, 0.7071067691F, 0.2705979347F},
    {-0.7071067691F, 0.7071067691F, -0.0000000618F},
    {-0.6532814503F, 0.7071067691F, -0.2705980539F},
    {-0.4999999106F, 0.7071067691F, -0.5000000596F},
    {-0.2705978155F, 0.7071067691F, -0.6532815695F},
    {0.0000000084F, 0.7071067691F, -0.7071067691F},
    {0.2705981433F, 0.7071067691F, -0.6532814503F},
    {0.5000001788F, 0.7071067691F, -0.4999998212F},
    {0.6532814503F, 0.7071067691F, -0.2705980241F},
    {0.3826834261F, 0.9238795042F, 0.0000000000F},
    {0.3535533845F, 0.9238795042F, 0.1464466155F},
    {0.2705980539F, 0.9238795042F, 0.2705980539F},
    {0.1464466006F, 0.9238795042F, 0.3535533845F},
    {-0.0000000167F, 0.9238795042F, 0.3826834261F},
    {-0.1464466453F, 0.9238795042F, 0.3535533845F},
    {-0.2705980539F, 0.9238795042F, 0.2705980539F},
    {-0.3535534143F, 0.9238795042F, 0.1464465559F},
    {-0.3826834261F, 0.9238795042F, -0.0000000335F},
    {-0.3535533845F, 0.9238795042F, -0.1464466155F},
    {-0.2705979943F, 0.9238795042F, -0.2705980837F},
    {-0.1464464962F, 0.9238795042F, -0.3535534441F},
    {0.0000000046F, 0.9238795042F, -0.3826834261F},
    {0.1464466751F, 0.9238795042F, -0.3535533547F},
    {0.2705981433F, 0.9238795042F, -0.2705979645F},
    {0.3535533845F, 0.9238795042F, -0.1464466006F},
    {0.0000000000F, 1.0000000000F, 0.0000000000F}};

#include <dxconfig.h>

static Point normals[SPHR114PTS] = {
    {0.0000000000F, -1.0000000000F, 0.0000000000F},
    {0.3826834261F, -0.9238795042F, 0.0000000000F},
    {0.3535533845F, -0.9238795042F, 0.1464466155F},
    {0.2705980539F, -0.9238795042F, 0.2705980539F},
    {0.1464466006F, -0.9238795042F, 0.3535533845F},
    {-0.0000000167F, -0.9238795042F, 0.3826834261F},
    {-0.1464466453F, -0.9238795042F, 0.3535533845F},
    {-0.2705980539F, -0.9238795042F, 0.2705980539F},
    {-0.3535534143F, -0.9238795042F, 0.1464465559F},
    {-0.3826834261F, -0.9238795042F, -0.0000000335F},
    {-0.3535533845F, -0.9238795042F, -0.1464466155F},
    {-0.2705979943F, -0.9238795042F, -0.2705980837F},
    {-0.1464464962F, -0.9238795042F, -0.3535534441F},
    {0.0000000046F, -0.9238795042F, -0.3826834261F},
    {0.1464466751F, -0.9238795042F, -0.3535533547F},
    {0.2705981433F, -0.9238795042F, -0.2705979645F},
    {0.3535533845F, -0.9238795042F, -0.1464466006F},
    {0.7071067691F, -0.7071067691F, 0.0000000000F},
    {0.6532814503F, -0.7071067691F, 0.2705980539F},
    {0.4999999702F, -0.7071067691F, 0.5000000000F},
    {0.2705980539F, -0.7071067691F, 0.6532814503F},
    {-0.0000000309F, -0.7071067691F, 0.7071067691F},
    {-0.2705981135F, -0.7071067691F, 0.6532814503F},
    {-0.5000000000F, -0.7071067691F, 0.5000000000F},
    {-0.6532815099F, -0.7071067691F, 0.2705979347F},
    {-0.7071067691F, -0.7071067691F, -0.0000000618F},
    {-0.6532814503F, -0.7071067691F, -0.2705980539F},
    {-0.4999999106F, -0.7071067691F, -0.5000000596F},
    {-0.2705978155F, -0.7071067691F, -0.6532815695F},
    {0.0000000084F, -0.7071067691F, -0.7071067691F},
    {0.2705981433F, -0.7071067691F, -0.6532814503F},
    {0.5000001788F, -0.7071067691F, -0.4999998212F},
    {0.6532814503F, -0.7071067691F, -0.2705980241F},
    {0.9238795042F, -0.3826834559F, 0.0000000000F},
    {0.8535533547F, -0.3826834559F, 0.3535533845F},
    {0.6532814503F, -0.3826834559F, 0.6532815099F},
    {0.3535533845F, -0.3826834559F, 0.8535534143F},
    {-0.0000000404F, -0.3826834559F, 0.9238795042F},
    {-0.3535534739F, -0.3826834559F, 0.8535533547F},
    {-0.6532815099F, -0.3826834559F, 0.6532814503F},
    {-0.8535534739F, -0.3826834559F, 0.3535532355F},
    {-0.9238795042F, -0.3826834559F, -0.0000000808F},
    {-0.8535533547F, -0.3826834559F, -0.3535533845F},
    {-0.6532813907F, -0.3826834559F, -0.6532815695F},
    {-0.3535531163F, -0.3826834559F, -0.8535534739F},
    {0.0000000110F, -0.3826834559F, -0.9238795042F},
    {0.3535535336F, -0.3826834559F, -0.8535533547F},
    {0.6532816887F, -0.3826834559F, -0.6532812715F},
    {0.8535534143F, -0.3826834559F, -0.3535533845F},
    {1.0000000000F, 0.0000000000F, 0.0000000000F},
    {0.9238795042F, 0.0000000000F, 0.3826834559F},
    {0.7071067691F, 0.0000000000F, 0.7071067691F},
    {0.3826834261F, 0.0000000000F, 0.9238795042F},
    {-0.0000000437F, 0.0000000000F, 1.0000000000F},
    {-0.3826835155F, 0.0000000000F, 0.9238795042F},
    {-0.7071067691F, 0.0000000000F, 0.7071067691F},
    {-0.9238796234F, 0.0000000000F, 0.3826832771F},
    {-1.0000000000F, 0.0000000000F, -0.0000000874F},
    {-0.9238795042F, 0.0000000000F, -0.3826834261F},
    {-0.7071066499F, 0.0000000000F, -0.7071068883F},
    {-0.3826831281F, 0.0000000000F, -0.9238796830F},
    {0.0000000119F, 0.0000000000F, -1.0000000000F},
    {0.3826836050F, 0.0000000000F, -0.9238794446F},
    {0.7071070075F, 0.0000000000F, -0.7071065307F},
    {0.9238795638F, 0.0000000000F, -0.3826834261F},
    {0.9238795042F, 0.3826834559F, 0.0000000000F},
    {0.8535533547F, 0.3826834559F, 0.3535533845F},
    {0.6532814503F, 0.3826834559F, 0.6532815099F},
    {0.3535533845F, 0.3826834559F, 0.8535534143F},
    {-0.0000000404F, 0.3826834559F, 0.9238795042F},
    {-0.3535534739F, 0.3826834559F, 0.8535533547F},
    {-0.6532815099F, 0.3826834559F, 0.6532814503F},
    {-0.8535534739F, 0.3826834559F, 0.3535532355F},
    {-0.9238795042F, 0.3826834559F, -0.0000000808F},
    {-0.8535533547F, 0.3826834559F, -0.3535533845F},
    {-0.6532813907F, 0.3826834559F, -0.6532815695F},
    {-0.3535531163F, 0.3826834559F, -0.8535534739F},
    {0.0000000110F, 0.3826834559F, -0.9238795042F},
    {0.3535535336F, 0.3826834559F, -0.8535533547F},
    {0.6532816887F, 0.3826834559F, -0.6532812715F},
    {0.8535534143F, 0.3826834559F, -0.3535533845F},
    {0.7071067691F, 0.7071067691F, 0.0000000000F},
    {0.6532814503F, 0.7071067691F, 0.2705980539F},
    {0.4999999702F, 0.7071067691F, 0.5000000000F},
    {0.2705980539F, 0.7071067691F, 0.6532814503F},
    {-0.0000000309F, 0.7071067691F, 0.7071067691F},
    {-0.2705981135F, 0.7071067691F, 0.6532814503F},
    {-0.5000000000F, 0.7071067691F, 0.5000000000F},
    {-0.6532815099F, 0.7071067691F, 0.2705979347F},
    {-0.7071067691F, 0.7071067691F, -0.0000000618F},
    {-0.6532814503F, 0.7071067691F, -0.2705980539F},
    {-0.4999999106F, 0.7071067691F, -0.5000000596F},
    {-0.2705978155F, 0.7071067691F, -0.6532815695F},
    {0.0000000084F, 0.7071067691F, -0.7071067691F},
    {0.2705981433F, 0.7071067691F, -0.6532814503F},
    {0.5000001788F, 0.7071067691F, -0.4999998212F},
    {0.6532814503F, 0.7071067691F, -0.2705980241F},
    {0.3826834261F, 0.9238795042F, 0.0000000000F},
    {0.3535533845F, 0.9238795042F, 0.1464466155F},
    {0.2705980539F, 0.9238795042F, 0.2705980539F},
    {0.1464466006F, 0.9238795042F, 0.3535533845F},
    {-0.0000000167F, 0.9238795042F, 0.3826834261F},
    {-0.1464466453F, 0.9238795042F, 0.3535533845F},
    {-0.2705980539F, 0.9238795042F, 0.2705980539F},
    {-0.3535534143F, 0.9238795042F, 0.1464465559F},
    {-0.3826834261F, 0.9238795042F, -0.0000000335F},
    {-0.3535533845F, 0.9238795042F, -0.1464466155F},
    {-0.2705979943F, 0.9238795042F, -0.2705980837F},
    {-0.1464464962F, 0.9238795042F, -0.3535534441F},
    {0.0000000046F, 0.9238795042F, -0.3826834261F},
    {0.1464466751F, 0.9238795042F, -0.3535533547F},
    {0.2705981433F, 0.9238795042F, -0.2705979645F},
    {0.3535533845F, 0.9238795042F, -0.1464466006F},
    {0.0000000000F, 1.0000000000F, 0.0000000000F}};

static Triangle triangles[] = {{0, 1, 2},
                               {0, 2, 3},
                               {0, 3, 4},
                               {0, 4, 5},
                               {0, 5, 6},
                               {0, 6, 7},
                               {0, 7, 8},
                               {0, 8, 9},
                               {0, 9, 10},
                               {0, 10, 11},
                               {0, 11, 12},
                               {0, 12, 13},
                               {0, 13, 14},
                               {0, 14, 15},
                               {0, 15, 16},
                               {0, 16, 1},
                               {1, 18, 2},
                               {1, 17, 18},
                               {2, 18, 3},
                               {3, 18, 19},
                               {3, 20, 4},
                               {3, 19, 20},
                               {4, 20, 5},
                               {5, 20, 21},
                               {5, 22, 6},
                               {5, 21, 22},
                               {6, 22, 7},
                               {7, 22, 23},
                               {7, 24, 8},
                               {7, 23, 24},
                               {8, 24, 9},
                               {9, 24, 25},
                               {9, 26, 10},
                               {9, 25, 26},
                               {10, 26, 11},
                               {11, 26, 27},
                               {11, 28, 12},
                               {11, 27, 28},
                               {12, 28, 13},
                               {13, 28, 29},
                               {13, 30, 14},
                               {13, 29, 30},
                               {14, 30, 15},
                               {15, 30, 31},
                               {15, 32, 16},
                               {15, 31, 32},
                               {16, 32, 1},
                               {1, 32, 17},
                               {17, 33, 18},
                               {18, 33, 34},
                               {18, 35, 19},
                               {18, 34, 35},
                               {19, 35, 20},
                               {20, 35, 36},
                               {20, 37, 21},
                               {20, 36, 37},
                               {21, 37, 22},
                               {22, 37, 38},
                               {22, 39, 23},
                               {22, 38, 39},
                               {23, 39, 24},
                               {24, 39, 40},
                               {24, 41, 25},
                               {24, 40, 41},
                               {25, 41, 26},
                               {26, 41, 42},
                               {26, 43, 27},
                               {26, 42, 43},
                               {27, 43, 28},
                               {28, 43, 44},
                               {28, 45, 29},
                               {28, 44, 45},
                               {29, 45, 30},
                               {30, 45, 46},
                               {30, 47, 31},
                               {30, 46, 47},
                               {31, 47, 32},
                               {32, 47, 48},
                               {32, 48, 33},
                               {32, 33, 17},
                               {33, 50, 34},
                               {33, 49, 50},
                               {34, 50, 35},
                               {35, 50, 51},
                               {35, 52, 36},
                               {35, 51, 52},
                               {36, 52, 37},
                               {37, 52, 53},
                               {37, 54, 38},
                               {37, 53, 54},
                               {38, 54, 39},
                               {39, 54, 55},
                               {39, 56, 40},
                               {39, 55, 56},
                               {40, 56, 41},
                               {41, 56, 57},
                               {41, 58, 42},
                               {41, 57, 58},
                               {42, 58, 43},
                               {43, 58, 59},
                               {43, 60, 44},
                               {43, 59, 60},
                               {44, 60, 45},
                               {45, 60, 61},
                               {45, 62, 46},
                               {45, 61, 62},
                               {46, 62, 47},
                               {47, 62, 63},
                               {47, 64, 48},
                               {47, 63, 64},
                               {48, 64, 33},
                               {33, 64, 49},
                               {49, 65, 50},
                               {50, 65, 66},
                               {50, 67, 51},
                               {50, 66, 67},
                               {51, 67, 52},
                               {52, 67, 68},
                               {52, 69, 53},
                               {52, 68, 69},
                               {53, 69, 54},
                               {54, 69, 70},
                               {54, 71, 55},
                               {54, 70, 71},
                               {55, 71, 56},
                               {56, 71, 72},
                               {56, 73, 57},
                               {56, 72, 73},
                               {57, 73, 58},
                               {58, 73, 74},
                               {58, 75, 59},
                               {58, 74, 75},
                               {59, 75, 60},
                               {60, 75, 76},
                               {60, 77, 61},
                               {60, 76, 77},
                               {61, 77, 62},
                               {62, 77, 78},
                               {62, 79, 63},
                               {62, 78, 79},
                               {63, 79, 64},
                               {64, 79, 80},
                               {64, 80, 65},
                               {64, 65, 49},
                               {65, 82, 66},
                               {65, 81, 82},
                               {66, 82, 67},
                               {67, 82, 83},
                               {67, 84, 68},
                               {67, 83, 84},
                               {68, 84, 69},
                               {69, 84, 85},
                               {69, 86, 70},
                               {69, 85, 86},
                               {70, 86, 71},
                               {71, 86, 87},
                               {71, 88, 72},
                               {71, 87, 88},
                               {72, 88, 73},
                               {73, 88, 89},
                               {73, 90, 74},
                               {73, 89, 90},
                               {74, 90, 75},
                               {75, 90, 91},
                               {75, 92, 76},
                               {75, 91, 92},
                               {76, 92, 77},
                               {77, 92, 93},
                               {77, 94, 78},
                               {77, 93, 94},
                               {78, 94, 79},
                               {79, 94, 95},
                               {79, 96, 80},
                               {79, 95, 96},
                               {80, 96, 65},
                               {65, 96, 81},
                               {81, 97, 82},
                               {82, 97, 98},
                               {82, 99, 83},
                               {82, 98, 99},
                               {83, 99, 84},
                               {84, 99, 100},
                               {84, 101, 85},
                               {84, 100, 101},
                               {85, 101, 86},
                               {86, 101, 102},
                               {86, 103, 87},
                               {86, 102, 103},
                               {87, 103, 88},
                               {88, 103, 104},
                               {88, 105, 89},
                               {88, 104, 105},
                               {89, 105, 90},
                               {90, 105, 106},
                               {90, 107, 91},
                               {90, 106, 107},
                               {91, 107, 92},
                               {92, 107, 108},
                               {92, 109, 93},
                               {92, 108, 109},
                               {93, 109, 94},
                               {94, 109, 110},
                               {94, 111, 95},
                               {94, 110, 111},
                               {95, 111, 96},
                               {96, 111, 112},
                               {96, 112, 97},
                               {96, 97, 81},
                               {97, 113, 98},
                               {98, 113, 99},
                               {99, 113, 100},
                               {100, 113, 101},
                               {101, 113, 102},
                               {102, 113, 103},
                               {103, 113, 104},
                               {104, 113, 105},
                               {105, 113, 106},
                               {106, 113, 107},
                               {107, 113, 108},
                               {108, 113, 109},
                               {109, 113, 110},
                               {110, 113, 111},
                               {111, 113, 112},
                               {112, 113, 97}};
